【PHP/演習問題】関数と戻り値[3]
問題
年の日数を出力するプログラムを作成してください。
なお、下記条件を満たすものとします。
- 年はコマンドライン引数で与える
- 閏年判定のアルゴリズムはグレゴリオ暦に従う
- 年の日数を求めるdays_in_year関数を作成する
引数:年
戻り値:年の日数
$ php practice.php 2022
2022年 : 365日
$ php practice.php 2016
2016年 : 366日
$ php practice.php 2100
2100年 : 365日
$ php practice.php 2400
2400年 : 366日
解答例
<?php
function is_leap_year( $year ) {
if( $year % 4 == 0 && ( $year % 100 != 0 || $year % 400 == 0 ) ) {
return true;
}
return false;
}
function days_in_year( $year ) {
$days = 365;
if( is_leap_year($year) ) $days = 366;
return $days;
}
$year = $argv[1];
$days = days_in_year($year);
echo $year.'年 : '.$days."日\n";
?>